package com.xu.system.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * <p>
 * 附件表
 * </p>
 *
 * @author 许乾伟
 * @since 2024-12-03 03:53:30
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("sys_file")
public class SysFile {

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 文件名称
     */
    @TableField("file_name")
    private String fileName;

    /**
     * minio文件名称（用于删除处理）
     */
    @TableField("minio_file_name")
    private String minioFileName;

    /**
     * 文件类型
     */
    @TableField("file_type")
    private String fileType;

    /**
     * 文件路径
     */
    @TableField("file_path")
    private String filePath;

    /**
     * 文件大小
     */
    @TableField("file_size")
    private Long fileSize;

    /**
     * 创建者
     */
    @TableField("create_by")
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    @TableField("update_by")
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 是否删除（false:正常;true:删除）
     */
    @TableField("is_delete")
    private Boolean isDelete;

    public static final String ID = "id";

    public static final String FILE_NAME = "file_name";

    public static final String MINIO_FILE_NAME = "minio_file_name";

    public static final String FILE_TYPE = "file_type";

    public static final String FILE_PATH = "file_path";

    public static final String FILE_SIZE = "file_size";

    public static final String CREATE_BY = "create_by";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_BY = "update_by";

    public static final String UPDATE_TIME = "update_time";

    public static final String IS_DELETE = "is_delete";
}
